Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support deployment on Sepolia #3706

Merged
merged 9 commits into from
Sep 25, 2023
Merged

Support deployment on Sepolia #3706

merged 9 commits into from
Sep 25, 2023

Conversation

michalinacienciala
Copy link
Contributor

@michalinacienciala michalinacienciala commented Sep 5, 2023

The Görli testnet currently used by Threshold/Keep for development purposes is planned to become deprecated with the end of year 2023. The testnet that is planned to replace it is called
Holešky, however it's not yet available - it's planned it will become widely accessible on Oct 1, 2023 (source). Switching our infrastructure to support new testnet is quite time consuming, so moving directly from Görli to Holešky may be quite risky, especially if there would be some delays in the date of Holešky genesis (not meeting the planned timelines is not a rare occurrence in the Ethereum space). As a solution, we decided to switch first to another testnet that is currently live - Sepolia. This testnet's EOL is planned for 2026, which gives us plenty of time to move to Holešky before Sepolia gets deprecated.

Refs:
threshold-network/solidity-contracts#150
keep-network/ci#48
threshold-network/solidity-contracts#151
keep-network/tbtc-v2#691
threshold-network/token-dashboard#605

  • Update TESTNET_ETH_CONTRACT_OWNER_PRIVATE_KEY so that it is prefixed with 0x

The Görli testnet currently used by Threshold/Keep for development purposes is
planned to become deprecated with the end of year 2023. The testnet that is
planned to replace it is called
[Holešky](https://github.com/eth-clients/holesky), however it's not yet
available - it's planned it will become widely accessible on Oct 1, 2023
([source](https://everstake.one/blog/new-ethereum-testnet-holesky-all-you-need-to-know-now)).
Switching our infrastructure to support new testnet is quite time consuming, so
moving directly from Görli to Holešky may be quite risky, especially if there
would be some delays in the date of Holešky genesis (not meeting the planned
timelines is not a rare occurrence in the Ethereum space). As a solution, we
decided to switch first to another testnet that is currently live - Sepolia.
This testnet's EOL is planned for 2026, which gives us plenty of time to move to
Holešky before Sepolia gets deprecated.
There is no scenario were we wouldn't need to provide an `environment` when
manually triggering the workflow run.
We don't need to differenciate between Sepolia and Goerli secrets storing
private keys of the deployers - in both cases we're using the same deployer
address.
We've been using the same account to deploy Keep and Threshold contracts
(both on Goerli and Sepolia).
@michalinacienciala michalinacienciala marked this pull request as draft September 19, 2023 09:45
@michalinacienciala
Copy link
Contributor Author

Ready for review, but I don't want to merge this PR yet before I check the deployment, so leaving as draft for now.

Without the waiting, the verification of contracts on Etherscan was sometimes
failing with errors like these:
```
NomicLabsHardhatPluginError: Failed to send contract verification request.
Endpoint URL: https://api-sepolia.etherscan.io/api
Reason: The Etherscan API responded that the address
0xAdF78eb37FDE0F3CbF59d11F0DF54b1170a3937b does not have bytecode.
This can happen if the contract was recently deployed and this fact hasn't
propagated to the backend yet.
Try waiting for a minute before verifying your contract. If you are invoking
this from a script, try to wait for five confirmations of your contract
deployment transaction before running the verification subtask.
```
Despite the suggestion to wait 5 confirmation, it seems 2 are enough for us (we
can always increase that number if we find cases where it isn't enough).
The name must be in line with the Hardhat config.
The variable is not needed, it's not used anywhere.
@michalinacienciala michalinacienciala marked this pull request as ready for review September 19, 2023 17:09
@lukasz-zimnoch lukasz-zimnoch merged commit 94ed595 into main Sep 25, 2023
29 checks passed
@lukasz-zimnoch lukasz-zimnoch deleted the support-sepolia branch September 25, 2023 08:01
lukasz-zimnoch added a commit to keep-network/tbtc-v2 that referenced this pull request Oct 24, 2023
The Görli testnet currently used by Threshold/Keep for development
purposes is
planned to become deprecated with the end of year 2023. The testnet that
is
planned to replace it is called
[Holešky](https://github.com/eth-clients/holesky), however it's not yet
available - it's planned it will become widely accessible on Oct 1, 2023

([source](https://everstake.one/blog/new-ethereum-testnet-holesky-all-you-need-to-know-now)).
Switching our infrastructure to support new testnet is quite time
consuming, so
moving directly from Görli to Holešky may be quite risky, especially if
there
would be some delays in the date of Holešky genesis (not meeting the
planned
timelines is not a rare occurrence in the Ethereum space). As a
solution, we
decided to switch first to another testnet that is currently live -
Sepolia.
This testnet's EOL is planned for 2026, which gives us plenty of time to
move to
Holešky before Sepolia gets deprecated.

Refs:
threshold-network/solidity-contracts#150
keep-network/ci#48
threshold-network/solidity-contracts#151
keep-network/keep-core#3706
threshold-network/token-dashboard#605
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants